At present, a distributed buffer is a buffer technology universally used in the field of IT technologies, especially in the field of Web technologies, and the distributed buffer is mainly applied to, for example, Web page caching and database caching, to meet a requirement of a user for a response rate of a network system.
In a distributed buffer system, data of a buffer client needs to be distributed onto each buffer node through a specified load equalization algorithm. Currently, the most commonly used load equalization algorithm is a hash algorithm, and consistent hashing (Consistent Hashing) is an algorithm that is widely used among hash algorithms.
In a distributed buffer system based on the consistent hashing algorithm, all buffer nodes may be evenly distributed on a virtual circle structure (“circle” for short). When a general hash function is used, distribution of mapping points of a physical server is quite uneven. Several virtual nodes (for example, 100-200) may be allocated for each physical server through a method of setting virtual nodes. As the 100-200 virtual nodes are evenly distributed on the “circle” and coverage of each virtual node is small, an effect of equalizing loads on different buffer nodes is achieved. However, as a great number of the virtual nodes need to be set, the computation amount of the buffer client is huge, which increases a burden of the buffer client. Meanwhile, when load imbalance further occurs in the “circle” distributed with the virtual nodes, timely adjustment on the loads on the buffer nodes cannot be achieved.
For a case that an overall load is too high or too low in the distributed buffer system, at present, there is no effective manner for scheduling resource distribution in the distributed buffer system.